#ifndef _CXYPLOT_H_
#define _CXYPLOT_H_

#include <buola/chart/cplot.h>

namespace buola { namespace chart {

class CXYPlot : public CPlot
{
public:
    CXYPlot();
    virtual ~CXYPlot();

    virtual img::CColor GetColor()           {   return img::CColor(0,0,0);           }
    virtual double GetMinX()=0;
    virtual double GetMinPosX();
    virtual double GetMaxX()=0;
    virtual double GetMinY()=0;
    virtual double GetMinPosY();
    virtual double GetMaxY()=0;
    virtual CRect_d GetExtraSpace()   {   return CRect_d(0,0,0,0);  }
    
    virtual void Draw(CXYChartContext &pC)=0;
    virtual void DrawHover(CXYChartContext &pC,const CPoint_d &pPos);
    virtual double GetDist(const CPoint_d &pPos,CXAxis *pXAxis,CYAxis *pYAxis);
    virtual CPoint_d GetNearestPoint(const CPoint_d &pPos,CXAxis*,CYAxis*);
    virtual void Highlight(bool pHL);

public:
/////////////// interface /////////////////

protected:
////////////// Event handling //////////////
    bool mHighlighted;
};

/*namespace chart*/ } /*namespace buola*/ }

#endif
